﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ProcessoSeletivo.DAO;

public partial class admin_BaixaBoletosPagos : System.Web.UI.Page
{
    #region " Load "

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //Necessário para burlar o bug de clicar no botão e após dar F5 o evento ser executado novamente
            Session["update"] = Server.UrlEncode(DateTime.Now.ToString());
        }
    }

    //Necessário para burlar o bug de clicar no botão e após dar F5 o evento ser executado novamente
    protected void Page_PreRender(object sender, EventArgs e)
    {
        ViewState["update"] = Session["update"];
    }

    #endregion

    #region " Grid "

    protected void grvPrincipal_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            DataRowView lRow = (DataRowView)e.Row.DataItem;
            string inscricao = lRow["cod_inscricao_ins"].ToString();

            e.Row.Cells[2].Text = inscricao.PadLeft(11 - inscricao.Length, '0');

            if ((bool)lRow["flg_isento_ins"])
            {
                e.Row.Cells[3].Text = "Sim";
            }
            else
            {
                e.Row.Cells[3].Text = "Não";
            }

            if (lRow["tip_processo_pro"].ToString() == "1")
            {
                e.Row.Cells[5].Text = "Normal";
            }
            else
            {
                e.Row.Cells[5].Text = "Agendado";
            }

            if ((bool)lRow["flg_pago_bol"])
            {
                e.Row.Cells[7].Text = "Sim";
            }
            else
            {
                e.Row.Cells[7].Text = "<span style='color:red'>Não</span>";
            }
        }
    }

    #endregion

    #region " Botões "

    protected void btnBaixaBoleto_Click(object sender, EventArgs e)
    {
        //Necessário para burlar o bug de clicar no botão e após dar F5 o evento ser executado novamente
        if (Session["update"].ToString() == ViewState["update"].ToString())
        {
            Session["update"] = Server.UrlEncode(DateTime.Now.ToString());

            if (hfSelecionados.Value != "")
            {
                foreach (string item in hfSelecionados.Value.Split(';'))
                {
                    if (item != "")
                    {
                        int linha = Convert.ToInt32(item);

                        //Atualiza o flag do boleto para pago
                        using (GeraBoleto objBoleto = new GeraBoleto())
                        {
                            objBoleto.AlterarBoletoPago(Convert.ToInt32(grvPrincipal.Rows[linha].Cells[2].Text), true);
                        }
                    }
                }

                hfSelecionados.Value = "";
                grvPrincipal.DataBind();
            }
        }
    }

    protected void btnDesfazerBaixa_Click(object sender, EventArgs e)
    {
        //Necessário para burlar o bug de clicar no botão e após dar F5 o evento ser executado novamente
        if (Session["update"].ToString() == ViewState["update"].ToString())
        {
            Session["update"] = Server.UrlEncode(DateTime.Now.ToString());

            if (hfSelecionados.Value != "")
            {
                foreach (string item in hfSelecionados.Value.Split(';'))
                {
                    if (item != "")
                    {
                        int linha = Convert.ToInt32(item);

                        //Atualiza o flag do boleto para pago
                        using (GeraBoleto objBoleto = new GeraBoleto())
                        {
                            objBoleto.AlterarBoletoPago(Convert.ToInt32(grvPrincipal.Rows[linha].Cells[2].Text), false);
                        }
                    }
                }

                hfSelecionados.Value = "";
                grvPrincipal.DataBind();
            }
        }
    }
    
    #endregion
}